perm filename LINXG.FAI[NEW,LCS]1 blob sn#236485 filedate 1977-03-21 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE LINXG
C00018 ENDMK
C⊗;
	TITLE LINXG
	ENTRY LINES,PLOTS,NOIR
	EXTERNAL DST,PLTR,DPY,.COMM.,ROFF,XRN,SQRT,PLOT

	KK←2 ↔ L←3 ↔ LE←4 ↔ T←5 ↔ J←1
	RL←6 ↔ RJ←7 ↔ B←0 ↔ H←11 ↔ JK←10
	HG←12 ↔ D←13 ↔ AL←14 ↔ JJ←15

		;	SUBROUTINE LINES(A,B,L)
		;	COMMON/DST/BB,CC
   		;	COMMON /SIZ/RSZ,JCEN,KCEN /FL/IC,NZ,NX,RZ,XGP
		;	COMMON/DL/IXRX,SAVER,AA /PLTR/IPLT,RHT,DIS
		;	COMMON R2,JA,CENTR,JB,RJQ(20),JQ(20)
		;	COMMON/DPY/JJ(4000),WDS(250),MEDIT,IGO
		;	EQUIVALENCE (ITOP,JJ(3999)),(IBOT,JJ(4000))
		;	1,(JJ2,JJ(2))
		;	DATA BB/.008/,CC/3.5/
 		;C  SET XGP TO 1200.0 FOR MARGIN IN XEROX COPIES
	
	M←2 ↔ NZ←3 ↔ K←4

LINES:	0		;	GO TO 23
DIST1:	JRST L23	;22	IF(JQ(1).NE.0)GO TO 23
	SKIPE PLTR+=27
	JRST L23	;	IF(CC.EQ.1000)GO TO 23
DIST:	MOVSI T,212764
	CAMN T,DST+1	;** FOR DISTORATION -- SEE ALSO FILLMS ***
	JRST L23	;	B=B*(CC-BB*ABS(A))
	MOVM T,@(16)
	FMPR T,DST	;BB IS DST, CC IS DST+1
	FSBR T,DST+1
	FMPRM T,@1(16)
	MOVNS @1(16)	;23	IF(IPLT)GO TO 2
L23:	SKIPGE PLTR
;;	JRST L2
	JRST L9
	MOVE	T,.COMM.+1	;IF(JA.EQ.44)RETURN
	CAIN	T,=44		;WON'T LOOK AT BARLINES FOR HEIGHT.
	JRA	16,3(16)
	MOVE	T,@1(16)
	CAMG	T,DPY+1
	JRST	L333
	MOVEM	T,DPY+1  ;  IF(B.LT.BOT)BOT=B
	JRA	16,3(16)
L333:	CAMG	T,DPY+2
	MOVEM	T,DPY+2
	JRA	16,3(16)  ;	IF(B.GT.TOP)TOP=B
			;2	IF(IPLT.EQ.-2)RETURN
;;L2:   	MOVNI T,2
;;	CAMN T,PLTR
;;	JRA 16,3(16)		;9	M=ROFF(A*DIS)
L9:   	MOVE M,@(16)
	FMPR M,PLTR+2
	SKIPGE M
	FADR M,[-=1.0]
	FADR M,[=0.5]
	KIFIX M,M
	MOVEM M,MM#		;	N=ROFF(B*RHT)
	MOVE NZ,@1(16)
	FMPR NZ,PLTR+1
	SKIPGE NZ
	FADR NZ,[-=1.0]
	FADR NZ,[=0.5]
	KIFIX NZ,NZ
	MOVEM NZ,NN#		;8	CALL PLOT(M,N,L)
L8:	MOVE T,@2(16)
	MOVEM T,LL#
	JSA 16,PLOT
	JUMP MM
	JUMP NN
	JUMP LL			;	END
	JRA 16,3(16)

PLOTS:	0
	JRA	16,1(16)	; DUMMY ROUTINE

J←10↔ A←2↔ B←3↔ C←4↔ D←5↔ E←6↔ NQ←11↔NX←12 ; SUBROUTINE NOIR(RMINI)
Y←13↔ X←14↔ L←15↔ M←1
JPOS:	0		;C  BLACKS IN NOTES
IPOS:	0	;COMMON R2,JA,CENTR,J2,RJQ(20),JQ(12),B,C,KC,D,N,JY,M,L
IC:	0
KZ:	0
NOIR:	0    ;	COMMON/PLTR/IPLT,RHT,DIS /XRN/IRN(4000)
	MOVE	A,.COMM.+4		;EQUIVALENCE (PRE,IRN(1))
	FMPR	A,PLTR+2	;DATA BL/7.5/,BH/6.7/
;  ADJUST BH AND FL FOR HEIGHT OF NOTE AND 'WIDTH'
  	JSA	16,ROFF		;IPOS=ROFF(RJQ(1)*DIS)
  	JUMP	A
	KIFIX A,A
	MOVEM	A,IPOS
	MOVE	A,.COMM.+2		;JPOS=ROFF(CENTR*RHT)
	FMPR	A,PLTR+1
	JSA	16,ROFF
	JUMP	A
	KIFIX A,A
;??	MOVE 	D,@(16)
;??	CAME	D,STF+8		;IF(RMINI.NE.RSTJ2)JPOS=JPOS+1
;??	AOS A	;TO PUSH MINI-NOTE UP ONE XGP NOTCH!!!! *******************
	MOVEM	A,JPOS		;SAVE FOR LATER
	MOVN	A,@(16)		;IF(-RMINI.EQ.PRE)GO TO 10
	CAMN	A,XRN
	JRST	NO10
	MOVEM	A,XRN		;PRE=-RMINI
	MOVE	D,[0.25]	;D=.25
	MOVE	B,[6.9]		;B=BH*RMINI*RHT ****WAS 6.7***
	FMPR	B,PLTR+1
	FMPR	B,@(16)
	MOVE	E,PLTR+2	;E=RMINI*DIS
	FMPR	E,@(16)
	MOVE	A,[7.6]		;A=BL*E **** WAS 7.5 ****
	FMPR	A,E
	KIFIX 15,A 		;IC=A
	MOVEM	15,IC
	FMPR	A,A		;A=A*A
	MOVN	E,B		;E=-B/4.
	FDVR	E,[=4.0]
	KIFIX	15,B		;K=B
	MOVEM	15,KZ
	FMPR	B,B		;B=B*B   USES EQUATION FOR ELLIPSE
	MOVEI	11,1		;N=1
	MOVEI	NX,2		;NX=2
	MOVN	J,KZ	;6	DO 1 J=-K,K
NO1:	MOVE	Y,J		;Y=J*J
	IMUL	Y,Y
	FLTR Y,Y   		;FLOAT
	MOVNS	Y		;X=SQRT(A-(A*Y)/B)
	FMPR	Y,A
	FDVR	Y,B
	FADR	Y,A
	JSA	16,SQRT
	JUMP	Y
	MOVE	L,E		;L=E-X
	FSBR	L,0
	KIFIX L,L
;;	MOVE	M,X		;M=X+E
;;	FADR	M,E
	FADR 0,E
	KIFIX 0,0	;  THE TWO SIDES OF THE LINE
	SKIPGE	11		;IF(N)CALL EXCH(L,M)
	EXCH	L,0
	MOVEM L,XRN-1(NX)
	MOVEM 0,XRN(NX)		;     C IS VERTICLE POS.
	ADDI	NX,2		;NX=NX+2
	FADR	E,D		;E=E+D    E IS TO TILT IT.
	MOVNS	11	;1	N=-N
	CAMGE	J,KZ
	AOJA	J,NO1		;LOOP BACK
NO10:	MOVE	J,IPOS	;10	CALL PLOT(IPOS+3,JPOS,3)
	ADDI	J,3
	JSA	16,PLOT
	JUMP	J
	JUMP 	JPOS
	JUMP	[3]
	MOVEI	11,2		;N=2  1ST LOC. OF ARRAY HAS "PRE"
	MOVE	L,IC		;L=IPOS+IC
	ADD	L,IPOS
	MOVN	M,KZ		;DO 11 M=-K,K
NO11:	MOVE	J,JPOS		;J=M+JPOS
	MOVEM	M,PLOTS
	ADD	J,M		;CALL PLOT(L+IRN(N),J,2)
	MOVE NX,XRN-1(11)
	ADD	NX,L
	JSA 	16,PLOT
	JUMP	NX
	JUMP	J
	JUMP	[2]	 	;CALL PLOT(L+IRN(N+1),J,2)
	MOVE NX,XRN(11)
	ADD	NX,L
	JSA	16,PLOT
	JUMP	NX
	JUMP	J
	JUMP	[2]
	ADDI	11,2		;11	N=N+2
	MOVE	M,PLOTS
	CAMGE	M,KZ
	AOJA	M,NO11
	JRA	16,1(16)

	END